逻辑回归
什么是逻辑回归
逻辑回归是一种用于解决分类问题的机器学习模型,尽管名字里有“回归”,但它并不是用来预测连续数值的,而是用来预测某个样本属于某个类别的概率。简单来说,逻辑回归回答的是“是或否”、“属于还是不属于”这样的问题
逻辑回归假设输入特征的线性组合(类似线性回归)可以用来预测类别概率,但通过一个特殊的函数(逻辑函数)将线性组合的结果映射到 0 到 1 之间
逻辑函数
逻辑函数(也叫 Sigmoid 函数)是逻辑回归中用来将线性组合结果映射到概率值(0 到 1 之间)的核心工具。它的形状像一个“S”形曲线,输入可以是任何实数,输出永远在 0 到 1 之间
逻辑函数的公式:

是输入值(通常是特征的线性组合,为之前所说的线性回归) 是自然对数的底 - 输出
是概率值,范围在
决策边界
决策边界是逻辑回归模型用来区分不同类别的“分界线”或“分界面”。简单来说,它是一个规则,模型根据这个规则决定一个样本属于哪个类别(比如“是”或“否”,“买”或“不买”)。在逻辑回归中,决策边界通常是基于预测概率的一个阈值(默认是 0.5),对应特征空间中的一条线、平面或超平面
如何确定决策边界
- 线性组合:逻辑回归首先会计算特征的线性组合,可以使用多项式:
- 概率映射:通过逻辑函数 (Sigmoid 函数)将
映射到概率:
- 决策规则:默认情况下,逻辑回归使用概率阈值 0.5 来决定类别:
- 如果
,预测类别为 1(正类) - 如果
,预测类别为 0(负类)
- 如果
逻辑回归的损失函数
逻辑回归的损失函数,也称为对数损失(Log Loss)或交叉熵损失(Cross-Entropy Loss),是用来衡量模型预测结果与真实标签之间差异的一个指标。简单来说,损失函数告诉我们模型的预测有多“糟糕”,通过最小化这个损失,模型可以学习到更好的参数(权重和截距)
为什么不能使用线性回归的均方误差
线性回归使用的均方误差(MSE)只适合连续值的预测,如果逻辑回归使用均方误差误差,会出现多个局部最小值
逻辑回归损失函数的推导
逻辑回归的概率模型
逻辑回归假设:
- 样本属于类别 1 的概率是:
- 样本属于类别 0 的概率是:
对于一个样本,其真实标签为
- 当
时, - 当
时,
最大似然估计
我们希望模型预测的这些概率“尽可能大”,这就是最大似然估计的意思,联合概率是每个样本概率的乘积:
但我们一般不直接最大化概率,而是最大化对数概率(因为乘起来的东西变成加法,方便计算):
在机器学习中,我们习惯最小化损失,而不是最大化似然,所以我们把对数似然的负值作为损失函数:
- 负号:把最大化问题变成最小化问题
- 除以
:取平均,防止样本数量影响损失大小
这就是逻辑回归的对数损失函数,也叫二元交叉熵损失(Binary Cross-Entropy Loss)
单个样本的损失:
逻辑回归的梯度下降
本质思路和线性回归的梯度下降是一样的,其参数更新公式为: